const Router = require('koa-router');
const QRCode = require('qrcode');

const router = new Router({ prefix: '/api/qrcode' });

router.get('/generate', async (ctx) => {
  const { id } = ctx.query;

  if (!id) {
    ctx.body = { code: 400, message: '缺少参数 id' };
    return;
  }

  // 可根据 id 查询某个资源，也可自定义编码内容
  const data = `https://example.com/info/${id}`; // 可替换为订单号、邀请码等

  try {
    const qrDataUrl = await QRCode.toDataURL(data); // 生成 base64 图片 
    ctx.body = {
      code: 200,
      data: qrDataUrl
    };
  } catch (err) {
    ctx.body = {
      code: 500,
      message: '二维码生成失败',
      error: err.message
    };
  }
});

module.exports = router;
